/*
 * Copyright 2011 The Rusted Roof, LLC.
 *
 *    Licensed under the Apache License, Version 2.0 (the "License");
 *    you may not use this file except in compliance with the License.
 *    You may obtain a copy of the License at
 *
 *        http://www.apache.org/licenses/LICENSE-2.0
 *
 *    Unless required by applicable law or agreed to in writing, software
 *    distributed under the License is distributed on an "AS IS" BASIS,
 *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *    See the License for the specific language governing permissions and
 *    limitations under the License.
 */

package org.proteusframework.platformservice.persistence.basic.model;

import org.proteusframework.platformservice.persistence.messagebean.DataType;

/**
 * @author Tacoma Four
 */
public final class MessageBeanPropertyTable
{
    private long propertyId;

    private long beanId;

    private String propertyName;

    private String propertyDataType;

    private boolean nullable;

    private boolean primaryKeyMember;

    private int length;

    private int precision;

    private String description;

    public long getPropertyId()
    {
        return propertyId;
    }

    public void setPropertyId(long propertyId)
    {
        this.propertyId = propertyId;
    }

    public long getBeanId()
    {
        return beanId;
    }

    public void setBeanId(long beanId)
    {
        this.beanId = beanId;
    }

    public String getPropertyName()
    {
        return propertyName;
    }

    public void setPropertyName(String propertyName)
    {
        this.propertyName = propertyName;
    }

    public String getPropertyDataType()
    {
        return propertyDataType;
    }

    public void setPropertyDataType(String propertyDataType)
    {
        this.propertyDataType = propertyDataType;
    }

    public String getDescription()
    {
        return description;
    }

    public void setDescription(String description)
    {
        this.description = description;
    }

    public DataType getDataType()
    {
        return DataType.valueOf(propertyDataType);
    }

    public boolean isNullable()
    {
        return nullable;
    }

    public void setNullable(boolean nullable)
    {
        this.nullable = nullable;
    }

    public boolean isPrimaryKeyMember()
    {
        return primaryKeyMember;
    }

    public void setPrimaryKeyMember(boolean primaryKeyMember)
    {
        this.primaryKeyMember = primaryKeyMember;
    }

    public int getLength()
    {
        return length;
    }

    public void setLength(int length)
    {
        this.length = length;
    }

    public int getPrecision()
    {
        return precision;
    }

    public void setPrecision(int precision)
    {
        this.precision = precision;
    }
}
